package com.test16_内部类;

/**
 * 方法中定义内部类
 */
public class YootkDemo_04 {

    public static void main(String[] args) {
        {
            IMessage4 message = IMessage4.getDefaultMessage();
            message.send("沐言优拓：www.yootk.com");
        }
        {
            IMessage4 message = IMessage4.getDefaultMessage2("沐言科技");
            message.send("沐言优拓：www.yootk.com");
        }
    }
}

interface IMessage4 {
    public void send(String message);

    public static IMessage4 getDefaultMessage() {
        class MessageImpl4 implements IMessage4 {    // 方法中定义内部类
            @Override
            public void send(String message) {
                System.out.println("【消息发送】" + message);
            }
        }
        return new MessageImpl4();
    }

    /**
     * JDK1.8之前，final String prefix
     */
    public static IMessage4 getDefaultMessage2(String prefix) {
        class MessageImpl4 implements IMessage4 {    // 方法中定义内部类
            @Override
            public void send(String message) {
                System.out.println("【" + prefix + "】" + message);
            }
        }
        return new MessageImpl4();
    }
}
